<section class="gh-canvas">
    <GhCanvasHeader class="gh-canvas-header post-header">
        <GhCustomViewTitle @title="Posts" @query={{reset-query-params "posts"}} />

        <section class="view-actions">
            <GhContentfilter
                @selectedType={{this.selectedType}}
                @availableTypes={{this.availableTypes}}
                @onTypeChange={{action "changeType"}}
                @selectedAuthor={{this.selectedAuthor}}
                @availableAuthors={{this.availableAuthors}}
                @onAuthorChange={{action "changeAuthor"}}
                @selectedTag={{this.selectedTag}}
                @availableTags={{this.availableTags}}
                @onTagChange={{action "changeTag"}}
                @selectedOrder={{this.selectedOrder}}
                @availableOrders={{this.availableOrders}}
                @onOrderChange={{action "changeOrder"}}
            />

            <LinkTo @route="editor.new" @model="post" class="gh-btn gh-btn-green" data-test-new-post-button={{true}}><span>New post</span></LinkTo>
        </section>
    </GhCanvasHeader>

    <section class="content-list">
        <ol class="posts-list gh-list {{unless this.postsInfinityModel "no-posts"}}">
            {{#if this.postsInfinityModel}}
                <li class="gh-list-row header">
                    <div class="gh-list-header no-padding">{{!--Favorite indicator column: no header--}}</div>
                    <div class="gh-list-header gh-posts-title-header">Title</div>
                    <div class="gh-list-header gh-posts-status-header">Status</div>
                    <div class="gh-list-header gh-posts-lastupdate-header">Last update</div>
                </li>
            {{/if}}

            {{#each this.postsInfinityModel as |post|}}
                <GhPostsListItem
                    @post={{post}}
                    data-test-post-id={{post.id}} />
            {{else}}
            <li class="no-posts-box">
                <div class="no-posts">
                    {{#if this.showingAll}}
                        {{svg-jar "posts-placeholder" class="gh-posts-placeholder"}}
                        <h3>You haven't written any posts yet!</h3>
                        <LinkTo @route="editor.new" @model="post" class="gh-btn gh-btn-green gh-btn-lg">
                            <span>Write a new post</span>
                        </LinkTo>
                    {{else}}
                        <h3>No posts match the current filter</h3>
                        <LinkTo @route="posts" @query={{hash type=null author=null tag=null}} class="gh-btn gh-btn-lg">
                            <span>Show all posts</span>
                        </LinkTo>
                    {{/if}}
                </div>
            </li>
            {{/each}}
        </ol>

        <GhInfinityLoader
            @infinityModel={{this.postsInfinityModel}}
            @scrollable=".gh-main"
            @triggerOffset={{1000}} />
    </section>

    {{outlet}}
</section>